1. Field of the Invention
The present invention relates to a compiling method, a computer program and a computer system.
2. Description of the Related Art
In the description and claims hereinafter, the following terminology will be used.
A line of code, hereinafter merely referred to as a “line”, is a combination of functions and/or variables and/or constants to be evaluated according to function evaluation priority rules.
A function is a set of instructions which, during the execution thereof by a processor, carry out one or more actions. A function may wait for no, one or more arguments and return no or one result.
A variable is a computing object intended to contain data. A variable comprises a name and is intended to contain a certain type of data. In this way, an array type variable is a variable intended to contain an array. Hereinafter, a variable will merely be denoted by the type thereof, such that an “array” will denote “an array type variable”.
A block of code is the set of one or a plurality of successive or separate lines.
Simplifying the code means reducing the number of functions and/or variables contained in the code, without changing the end result of the code execution.
Assigning an array to an array type variable means saving the array in the variable.
Allocating a value means defining a memory space intended to contain the variable data.
An array operation is a function having at least one array as an argument and/or returning an array type result.
An array expression is a finite and syntactically correct combination of symbols, a portion whereof represents array operations, and a further portion whereof represents arrays.
An array computation consists of a single operation or a plurality of combined array operations on a single line or distributed over a plurality of lines.
Compiling is the operation converting a source code written in a programming language into a sequence of instructions which are specific to a processor, referred to as machine code. Compiling quality is measured according to the size of the machine code obtained (the smallest possible to save memory) and/or the code execution speed on the target processor (as fast as possible to process as many tasks as possible).
The programming language may be general such as C or C++ language, i.e. it is suitable for describing numerous types of processing operation. However, in many fields, other more specialised languages are preferred, since they enable a more concise and more natural description. In signal processing, the language Matlab (registered trademark) is frequently used. Furthermore, C++ libraries are available providing a similar syntax to that of Matlab.
In C++ language, an array is presented in table form.
Moreover, libraries are available supplying a type of data intended to represent an array.